package cdu.javaendwork.service.Interface.User;

import cdu.javaendwork.model.sqlModel.User;

import java.util.List;

public interface UserService {

    //-------------------周思藐同学负责实现的方法----------------------------------
    //这里我们暂时认为用户对象的status属性值为 1时是普通用户 2是管理员用户 3是被封禁用户 实现方法时请注意
    // 添加用户，注册时会使用或后台管理员或许可以直接添加用户
    public boolean insert(String username, String password,String photo,String userprofile,String phone,int status);

    // 通用id修改用户 ,后台管理员或许可以通过修改状态码提升用户权限或者完成逻辑删除
    public boolean update(int id, String username, String password,String photo,String userprofile,String phone,int status);

    // 单查用户信息，在访问其他用户时可能会用到
    public User findById(int id);

    // 分页查询普通用户信息，在后台管理员管理用户的页面或许需要用户的列表
    public List<User> Userlimit(int pageIndex , int pageSize);

    // 通过用户名模糊查询并分页普通用户信息，用户搜索用户时或者后台管理页面搜索用户时可能会使用
    public List<User> filterByUsernameAndStatusLimit(String username, int status, int pageIndex , int pageSize);

    // 分页查询管理员用户信息，在后台管理员管理用户的页面或许需要用户的列表
    public List<User> AdminLimit(int pageIndex , int pageSize);

    // 通过用户名模糊查询并分页管理员用户信息，用户搜索用户时或者后台管理页面搜索用户时可能会使用
    public List<User> AdminFilterByUsernameLimit(String where , int pageIndex , int pageSize);
}
